package com.sinochem.iot.rule.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TriggerRuleExample {
    /**
     * t_trigger_rule
     */
    protected String orderByClause;

    /**
     * t_trigger_rule
     */
    protected boolean distinct;

    /**
     * t_trigger_rule
     */
    protected List<Criteria> oredCriteria;

    /**
     *
     * @mbggenerated
     */
    public TriggerRuleExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     *
     * @mbggenerated
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     *
     * @mbggenerated
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     *
     * @mbggenerated
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     *
     * @mbggenerated
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     *
     * @mbggenerated
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     *
     * @mbggenerated
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     *
     * @mbggenerated
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     *
     * @mbggenerated
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     *
     * @mbggenerated
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     *
     * @mbggenerated
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * t_trigger_rule null
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTriIdIsNull() {
            addCriterion("tri_id is null");
            return (Criteria) this;
        }

        public Criteria andTriIdIsNotNull() {
            addCriterion("tri_id is not null");
            return (Criteria) this;
        }

        public Criteria andTriIdEqualTo(Integer value) {
            addCriterion("tri_id =", value, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdNotEqualTo(Integer value) {
            addCriterion("tri_id <>", value, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdGreaterThan(Integer value) {
            addCriterion("tri_id >", value, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("tri_id >=", value, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdLessThan(Integer value) {
            addCriterion("tri_id <", value, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdLessThanOrEqualTo(Integer value) {
            addCriterion("tri_id <=", value, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdIn(List<Integer> values) {
            addCriterion("tri_id in", values, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdNotIn(List<Integer> values) {
            addCriterion("tri_id not in", values, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdBetween(Integer value1, Integer value2) {
            addCriterion("tri_id between", value1, value2, "triId");
            return (Criteria) this;
        }

        public Criteria andTriIdNotBetween(Integer value1, Integer value2) {
            addCriterion("tri_id not between", value1, value2, "triId");
            return (Criteria) this;
        }

        public Criteria andRuleSqlIsNull() {
            addCriterion("rule_sql is null");
            return (Criteria) this;
        }

        public Criteria andRuleSqlIsNotNull() {
            addCriterion("rule_sql is not null");
            return (Criteria) this;
        }

        public Criteria andRuleSqlEqualTo(String value) {
            addCriterion("rule_sql =", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlNotEqualTo(String value) {
            addCriterion("rule_sql <>", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlGreaterThan(String value) {
            addCriterion("rule_sql >", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlGreaterThanOrEqualTo(String value) {
            addCriterion("rule_sql >=", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlLessThan(String value) {
            addCriterion("rule_sql <", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlLessThanOrEqualTo(String value) {
            addCriterion("rule_sql <=", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlLike(String value) {
            addCriterion("rule_sql like", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlNotLike(String value) {
            addCriterion("rule_sql not like", value, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlIn(List<String> values) {
            addCriterion("rule_sql in", values, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlNotIn(List<String> values) {
            addCriterion("rule_sql not in", values, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlBetween(String value1, String value2) {
            addCriterion("rule_sql between", value1, value2, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlNotBetween(String value1, String value2) {
            addCriterion("rule_sql not between", value1, value2, "ruleSql");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextIsNull() {
            addCriterion("rule_sql_text is null");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextIsNotNull() {
            addCriterion("rule_sql_text is not null");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextEqualTo(String value) {
            addCriterion("rule_sql_text =", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextNotEqualTo(String value) {
            addCriterion("rule_sql_text <>", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextGreaterThan(String value) {
            addCriterion("rule_sql_text >", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextGreaterThanOrEqualTo(String value) {
            addCriterion("rule_sql_text >=", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextLessThan(String value) {
            addCriterion("rule_sql_text <", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextLessThanOrEqualTo(String value) {
            addCriterion("rule_sql_text <=", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextLike(String value) {
            addCriterion("rule_sql_text like", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextNotLike(String value) {
            addCriterion("rule_sql_text not like", value, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextIn(List<String> values) {
            addCriterion("rule_sql_text in", values, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextNotIn(List<String> values) {
            addCriterion("rule_sql_text not in", values, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextBetween(String value1, String value2) {
            addCriterion("rule_sql_text between", value1, value2, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleSqlTextNotBetween(String value1, String value2) {
            addCriterion("rule_sql_text not between", value1, value2, "ruleSqlText");
            return (Criteria) this;
        }

        public Criteria andRuleFieldIsNull() {
            addCriterion("rule_field is null");
            return (Criteria) this;
        }

        public Criteria andRuleFieldIsNotNull() {
            addCriterion("rule_field is not null");
            return (Criteria) this;
        }

        public Criteria andRuleFieldEqualTo(String value) {
            addCriterion("rule_field =", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldNotEqualTo(String value) {
            addCriterion("rule_field <>", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldGreaterThan(String value) {
            addCriterion("rule_field >", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldGreaterThanOrEqualTo(String value) {
            addCriterion("rule_field >=", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldLessThan(String value) {
            addCriterion("rule_field <", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldLessThanOrEqualTo(String value) {
            addCriterion("rule_field <=", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldLike(String value) {
            addCriterion("rule_field like", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldNotLike(String value) {
            addCriterion("rule_field not like", value, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldIn(List<String> values) {
            addCriterion("rule_field in", values, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldNotIn(List<String> values) {
            addCriterion("rule_field not in", values, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldBetween(String value1, String value2) {
            addCriterion("rule_field between", value1, value2, "ruleField");
            return (Criteria) this;
        }

        public Criteria andRuleFieldNotBetween(String value1, String value2) {
            addCriterion("rule_field not between", value1, value2, "ruleField");
            return (Criteria) this;
        }

        public Criteria andQueryScopProIsNull() {
            addCriterion("query_scop_pro is null");
            return (Criteria) this;
        }

        public Criteria andQueryScopProIsNotNull() {
            addCriterion("query_scop_pro is not null");
            return (Criteria) this;
        }

        public Criteria andQueryScopProEqualTo(Integer value) {
            addCriterion("query_scop_pro =", value, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProNotEqualTo(Integer value) {
            addCriterion("query_scop_pro <>", value, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProGreaterThan(Integer value) {
            addCriterion("query_scop_pro >", value, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProGreaterThanOrEqualTo(Integer value) {
            addCriterion("query_scop_pro >=", value, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProLessThan(Integer value) {
            addCriterion("query_scop_pro <", value, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProLessThanOrEqualTo(Integer value) {
            addCriterion("query_scop_pro <=", value, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProIn(List<Integer> values) {
            addCriterion("query_scop_pro in", values, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProNotIn(List<Integer> values) {
            addCriterion("query_scop_pro not in", values, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProBetween(Integer value1, Integer value2) {
            addCriterion("query_scop_pro between", value1, value2, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopProNotBetween(Integer value1, Integer value2) {
            addCriterion("query_scop_pro not between", value1, value2, "queryScopPro");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevIsNull() {
            addCriterion("query_scop_dev is null");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevIsNotNull() {
            addCriterion("query_scop_dev is not null");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevEqualTo(String value) {
            addCriterion("query_scop_dev =", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevNotEqualTo(String value) {
            addCriterion("query_scop_dev <>", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevGreaterThan(String value) {
            addCriterion("query_scop_dev >", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevGreaterThanOrEqualTo(String value) {
            addCriterion("query_scop_dev >=", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevLessThan(String value) {
            addCriterion("query_scop_dev <", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevLessThanOrEqualTo(String value) {
            addCriterion("query_scop_dev <=", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevLike(String value) {
            addCriterion("query_scop_dev like", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevNotLike(String value) {
            addCriterion("query_scop_dev not like", value, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevIn(List<String> values) {
            addCriterion("query_scop_dev in", values, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevNotIn(List<String> values) {
            addCriterion("query_scop_dev not in", values, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevBetween(String value1, String value2) {
            addCriterion("query_scop_dev between", value1, value2, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryScopDevNotBetween(String value1, String value2) {
            addCriterion("query_scop_dev not between", value1, value2, "queryScopDev");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrIsNull() {
            addCriterion("query_condition_attr is null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrIsNotNull() {
            addCriterion("query_condition_attr is not null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrEqualTo(String value) {
            addCriterion("query_condition_attr =", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrNotEqualTo(String value) {
            addCriterion("query_condition_attr <>", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrGreaterThan(String value) {
            addCriterion("query_condition_attr >", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrGreaterThanOrEqualTo(String value) {
            addCriterion("query_condition_attr >=", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrLessThan(String value) {
            addCriterion("query_condition_attr <", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrLessThanOrEqualTo(String value) {
            addCriterion("query_condition_attr <=", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrLike(String value) {
            addCriterion("query_condition_attr like", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrNotLike(String value) {
            addCriterion("query_condition_attr not like", value, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrIn(List<String> values) {
            addCriterion("query_condition_attr in", values, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrNotIn(List<String> values) {
            addCriterion("query_condition_attr not in", values, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrBetween(String value1, String value2) {
            addCriterion("query_condition_attr between", value1, value2, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionAttrNotBetween(String value1, String value2) {
            addCriterion("query_condition_attr not between", value1, value2, "queryConditionAttr");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConIsNull() {
            addCriterion("query_condition_con is null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConIsNotNull() {
            addCriterion("query_condition_con is not null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConEqualTo(String value) {
            addCriterion("query_condition_con =", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConNotEqualTo(String value) {
            addCriterion("query_condition_con <>", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConGreaterThan(String value) {
            addCriterion("query_condition_con >", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConGreaterThanOrEqualTo(String value) {
            addCriterion("query_condition_con >=", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConLessThan(String value) {
            addCriterion("query_condition_con <", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConLessThanOrEqualTo(String value) {
            addCriterion("query_condition_con <=", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConLike(String value) {
            addCriterion("query_condition_con like", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConNotLike(String value) {
            addCriterion("query_condition_con not like", value, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConIn(List<String> values) {
            addCriterion("query_condition_con in", values, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConNotIn(List<String> values) {
            addCriterion("query_condition_con not in", values, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConBetween(String value1, String value2) {
            addCriterion("query_condition_con between", value1, value2, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionConNotBetween(String value1, String value2) {
            addCriterion("query_condition_con not between", value1, value2, "queryConditionCon");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValIsNull() {
            addCriterion("query_condition_val is null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValIsNotNull() {
            addCriterion("query_condition_val is not null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValEqualTo(String value) {
            addCriterion("query_condition_val =", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValNotEqualTo(String value) {
            addCriterion("query_condition_val <>", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValGreaterThan(String value) {
            addCriterion("query_condition_val >", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValGreaterThanOrEqualTo(String value) {
            addCriterion("query_condition_val >=", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValLessThan(String value) {
            addCriterion("query_condition_val <", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValLessThanOrEqualTo(String value) {
            addCriterion("query_condition_val <=", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValLike(String value) {
            addCriterion("query_condition_val like", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValNotLike(String value) {
            addCriterion("query_condition_val not like", value, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValIn(List<String> values) {
            addCriterion("query_condition_val in", values, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValNotIn(List<String> values) {
            addCriterion("query_condition_val not in", values, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValBetween(String value1, String value2) {
            addCriterion("query_condition_val between", value1, value2, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andQueryConditionValNotBetween(String value1, String value2) {
            addCriterion("query_condition_val not between", value1, value2, "queryConditionVal");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicIsNull() {
            addCriterion("query_condition_logic is null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicIsNotNull() {
            addCriterion("query_condition_logic is not null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicEqualTo(String value) {
            addCriterion("query_condition_logic =", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicNotEqualTo(String value) {
            addCriterion("query_condition_logic <>", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicGreaterThan(String value) {
            addCriterion("query_condition_logic >", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicGreaterThanOrEqualTo(String value) {
            addCriterion("query_condition_logic >=", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicLessThan(String value) {
            addCriterion("query_condition_logic <", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicLessThanOrEqualTo(String value) {
            addCriterion("query_condition_logic <=", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicLike(String value) {
            addCriterion("query_condition_logic like", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicNotLike(String value) {
            addCriterion("query_condition_logic not like", value, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicIn(List<String> values) {
            addCriterion("query_condition_logic in", values, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicNotIn(List<String> values) {
            addCriterion("query_condition_logic not in", values, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicBetween(String value1, String value2) {
            addCriterion("query_condition_logic between", value1, value2, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionLogicNotBetween(String value1, String value2) {
            addCriterion("query_condition_logic not between", value1, value2, "queryConditionLogic");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1IsNull() {
            addCriterion("query_condition_con1 is null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1IsNotNull() {
            addCriterion("query_condition_con1 is not null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1EqualTo(String value) {
            addCriterion("query_condition_con1 =", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1NotEqualTo(String value) {
            addCriterion("query_condition_con1 <>", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1GreaterThan(String value) {
            addCriterion("query_condition_con1 >", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1GreaterThanOrEqualTo(String value) {
            addCriterion("query_condition_con1 >=", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1LessThan(String value) {
            addCriterion("query_condition_con1 <", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1LessThanOrEqualTo(String value) {
            addCriterion("query_condition_con1 <=", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1Like(String value) {
            addCriterion("query_condition_con1 like", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1NotLike(String value) {
            addCriterion("query_condition_con1 not like", value, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1In(List<String> values) {
            addCriterion("query_condition_con1 in", values, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1NotIn(List<String> values) {
            addCriterion("query_condition_con1 not in", values, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1Between(String value1, String value2) {
            addCriterion("query_condition_con1 between", value1, value2, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionCon1NotBetween(String value1, String value2) {
            addCriterion("query_condition_con1 not between", value1, value2, "queryConditionCon1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1IsNull() {
            addCriterion("query_condition_val1 is null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1IsNotNull() {
            addCriterion("query_condition_val1 is not null");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1EqualTo(String value) {
            addCriterion("query_condition_val1 =", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1NotEqualTo(String value) {
            addCriterion("query_condition_val1 <>", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1GreaterThan(String value) {
            addCriterion("query_condition_val1 >", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1GreaterThanOrEqualTo(String value) {
            addCriterion("query_condition_val1 >=", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1LessThan(String value) {
            addCriterion("query_condition_val1 <", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1LessThanOrEqualTo(String value) {
            addCriterion("query_condition_val1 <=", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1Like(String value) {
            addCriterion("query_condition_val1 like", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1NotLike(String value) {
            addCriterion("query_condition_val1 not like", value, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1In(List<String> values) {
            addCriterion("query_condition_val1 in", values, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1NotIn(List<String> values) {
            addCriterion("query_condition_val1 not in", values, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1Between(String value1, String value2) {
            addCriterion("query_condition_val1 between", value1, value2, "queryConditionVal1");
            return (Criteria) this;
        }

        public Criteria andQueryConditionVal1NotBetween(String value1, String value2) {
            addCriterion("query_condition_val1 not between", value1, value2, "queryConditionVal1");
            return (Criteria) this;
        }
    }

    /**
     * t_trigger_rule
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * t_trigger_rule null
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}